home *** CD-ROM | disk | FTP | other *** search
- Introduction
-
- These notes describe the known bugs, anomalies, and machine-dependencies
- in the current POSTGRES release.
-
- Copyright
-
- The copyright for the 2.1 release of the POSTGRES DBMS is as follows.
-
- POSTGRES Data Base Management System
-
- Copyright (c) 1988 Regents of the University of California
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for educational, research, and non-profit purposes and
- without fee is hereby granted, provided that the above copyright
- notice appear in all copies and that both that copyright notice and
- this permission notice appear in supporting documentation, and that
- the name of the University of California not be used in advertising
- or publicity pertaining to distribution of the software without
- specific, written prior permission. Permission to incorporate this
- software into commercial products can be obtained from the Campus
- Software Office, 295 Evans Hall, University of California, Berkeley,
- Ca., 94720. The University of California makes no representations
- about the suitability of this software for any purpose. It is
- provided "as is" without express or implied warranty.
-
- Organization
-
- The rest of these notes are organized into three parts:
-
- Bugs, Machine Assumptions and Port Notes, and 2.1 Upgrades over 2.03
-
- I. Bugs
-
- Compiling:
-
- Postgres cannot compile on our Sequent using the standard 'make' or the
- make provided in /usr/att/bin. If you encounter problems with the 'make'
- on your Sequent, please contact your Sequent technical support contact for
- further instructions. It should compile without problems on all other
- supported platforms. Users are welcome to try GCC (with the -traditional
- option) but we have never gotten it to correctly compile Postgres.
-
- The Terminal Monitor and Postmaster:
-
- The Terminal Monitor can only run one query at a time. If multiple queries
- are executed with one Go command (\g), unpredictable behavior will result,
- although in general either the first query will execute or a parser error will
- occur.
-
- If you start up two postmaster's on the same machine using the same port,
- bizarre behavior may result.
-
- Security Hole Bug:
-
- Postgres does not check to make sure that a user has permission to delete tuples
- out of system classes. This means that anyone can delete anyone else's
- database instance out of pg_database, for example, or can delete built-in types.
- So users should be careful to avoid such things, and Postgres should not be
- used for secure applications.
-
- The Rewrite Rule System:
-
- The Query Rewrite Rule System, and functions dependent on it, is known to have
- bugs. These will be addressed in the next release - until that time, it is
- suggested that the following commands be avoided:
-
- o Define View
- o Define Version
- o Define Rewrite Rule
- o Define POSTQUEL procedure
-
- However, the Instance-level Rule System works well.
-
- II. Postgres Machine and OS Assumptions
-
- Postgres requires the following to be present on a system:
-
- 1. A truly compatible System V.3 'make'. We have found that many vendors claim
- compatibility in this regard, but their make's cannot compile Postgres.
-
- 2. A Unix 4.2 BSD kernel with System V shared memory extensions, or a System
- V kernel with 4.2BSD extensions for sockets and various CLIB functions.
-
- 3. The C shell and Bourne shell for various installation and 'make' scripts.
-
- 4. For the dynamic loader, a Sun or COFF compatible A.OUT format is best.
-
- Postgres Machine Assumptions:
-
- Postgres assumes that
-
- sizeof(char) = 1
- sizeof(short) = 2
- sizeof(long) = 4
- sizeof(char *) = 4
-
- In the very least, Postgres assumes:
-
- sizeof(char) < sizeof(short) <= sizeof(char *) <= sizeof(long)
-
- If problems are encountered with alignment and such in doing ports, it may be
- because these assumptions are not true on the target platform. If this is
- true, some parts of the access method code may have to be rewritten.
-
- If the above assumptions are true, porting Postgres should be straightforward,
- except for the dynamic loader.
-
- III. Differences between 2.1 and 2.03:
-
- Much internal code has been rewritten, largely in access methods, caching
- and buffer management, and other low-level routines.
-
- Visible Changes from 2.03:
-
- o The "rtree" access method now works.
-
- o Btree indices can now be defined on arbitrarily long fields.
-
- IV. On Ports:
-
- Support for the following have been DISCONTINUED:
-
- 1. Ultrix on DECstations below 4.0 (We do support Ultrix 4.0 and up)
-
- We have discontinued support for these due to OS bugs which were fixed in
- later releases of these operating systems. These OS bugs primarily
- affect the dynamic loader. The DECstation Ultrix port for systems below
- 4.0 will continue to be distributed, but it is now unsupported.
-
- Support for the following will be DISCONTINUED SOON:
-
- 1. SunOS on Sun 3's less than 4.0.
-
- More on the dynamic loader:
-
- 1. Make sure files you are loading do not reference symbols (either variables
- or functions) in each other. If you do this, it will work, but you cannot
- re-load files once they are loaded. Doing this will have unpredictable
- results.
-
- Diskless Machines:
-
- We have successfully ran Postgres on diskless Sparcstations, but diskless
- Sun 3's have occasionally posed problems. We have never run diskless on
- DECstations or on Sequents.
-